
export interface DataFormProps {
    title?: string;
    description?: string;
    disabled?: boolean;
    model?: Record<string, any>;
    forms?: Array<DataFormItem>;
    enums?: any;
    width?: string | number;
    labelWidth?: string | number;
    footer?: boolean;
    ruleProp?: string;
    ruleField?: Array<string>
    beforeSubmit?: (resolve: (status: boolean|undefined)=> void) => void
}

export interface DataFormConfig {
    mode: AxiosMethod,
    title: string,
    icon: string,
    visible: boolean,
    loading: boolean,
}

export interface DataFormItem extends BaseFormItem{
    value?: any;
    slot?: boolean|string;
}

export interface BaseFormItem {
    prop?: string
    label?: string
    el?: string
    data?: ((resolve: (data: any)=> Promise<any>, field?: string) => void)
    required?: boolean
    disabled?: boolean
    option?: Array<any>
    attrs?: Record<string, any>
}